﻿#include <DxLib.h>
#include "GraphHandle.h"
#include "Menu.h"
#include "Mouse.h"
#include "Key.h"
#include "MenuTag.h"
#include "Teigi.h"
#include"Loading.h"
#include "Game.h"


//表示する関数をセットにする
int (*DrawScreen[])(int *)=
{
	DrawStart,
	DrawMain,
	DrawReadMe,
	DrawGameMode,
	DrawKiroku,
	GameMgr,
};


//メイン関数--------------------------------------------------------------------------------------------------------------
int WINAPI WinMain( HINSTANCE,HINSTANCE,LPSTR,int){


	//必須関数
	ChangeWindowMode(TRUE);		SetAlwaysRunFlag(TRUE);		SetWindowText("TETRIS");		SetOutApplicationLogValidFlag(FALSE);		DxLib_Init();			SetDrawScreen(DX_SCREEN_BACK); 


	//どれを表示するかのフラグ(最初はSTART)
	int  F_DrawScreen=START;

	GraphHandleInit(COMMON);

	//SetUseASyncLoadFlag( TRUE ) ;

	//メニューの初期化
	Menu_Init();
	//メニュータグの初期化
	MenuTag_Init();

	//バック背景をロード
	int G_Back = GetGraphHandle(MENU , GH_Back);

	//メインループ---------------------------------------------------------------------------------------
	while( !ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()){

		if(CheckLoading()==0){

			continue;
		}

		
		//マウスとキーの入力状態のチェック
		MouseCheck();
		AllCheck();

		//バックを描写
		DrawGraph(0 , 0 , G_Back , TRUE );

		//描写フェーズ
		DrawScreen [F_DrawScreen](&F_DrawScreen);

	}
	
	//-------------------------------------------------------------------------------------------------


	//終了
	DxLib_End();
	return 0;
}